Mount CMSC 451 : Lecture 16 Network Flow Algorithms
نویسنده
چکیده
Algorithmic Aspects of Network Flow: In the previous lecture, we presented the Ford-Fulkerson algorithm. We showed that on termination this algorithm produces the maximum flow in an s-t network. In this lecture we discuss the algorithm’s running time, and discuss more efficient alternatives. Analysis of Ford-Fulkerson: Before discussing the worst-case running time of the Ford-Fulkerson algorithm, let us first consider whether it is guaranteed to terminate. We assume that all edge capacities are integers.1 Every augmentation by Ford-Fulkerson increases the flow by an integer amount. Thus, the resulting residual network also has integer capacities. Therefore, after a finite number of augmentations the algorithm must terminate. Lemma: Given an s-t network with integer capacities, the Ford-Fulkerson algorithm terminates. Furthermore, it produces an integer-valued flow function. Recall our convention that n = |V | and m = |E|. Since we assume that every vertex is reachable from s, it follows that m ≥ n − 1. Therefore, n = O(m). Running times of the form O(n + m) can be expressed more simply as O(m). As we saw last time, the residual network can be computed in O(n + m) = O(m) time and an augmenting path can also be found in O(m) time. Therefore, the running time of each augmentation step is O(m). How many augmentations are needed? Unfortunately, the number could be very large. To see this, consider the example shown in Fig. 1.
منابع مشابه
CMSC 451 Design and Analysis of Computer Algorithms 1
1Copyright, David M. Mount, 2012 Dept. of Computer Science, University of Maryland, College Park, MD, 20742. These lecture notes were prepared by David Mount for the course CMSC 451, Design and Analysis of Computer Algorithms, at the University of Maryland. Permission to use, copy, modify, and distribute these notes for educational purposes and without fee is hereby granted, provided that this ...
متن کاملCMSC 451 Design and Analysis of Computer Algorithms
Copyright, David M. Mount, 2013 Dept. of Computer Science, University of Maryland, College Park, MD, 20742. These lecture notes were prepared by David Mount for the course CMSC 451, Design and Analysis of Computer Algorithms, at the University of Maryland. Permission to use, copy, modify, and distribute these notes for educational purposes and without fee is hereby granted, provided that this c...
متن کاملCMSC 451 Dave Mount CMSC 451 : Lecture 17 Extensions of Network Flow Thursday , Nov 9 , 2017
Extensions of Network Flow: Network flow is an important problem because it is useful in a wide variety of applications. We will discuss two useful extensions to the network flow problem. We will show that these problems can be reduced to network flow, and thus a single algorithm can be used to solve both of them. Many computational problems that would seem to have little to do with flow of flu...
متن کاملCMSC 451 Dave Mount CMSC 451 : Lecture 10 Dynamic Programming : Weighted Interval Scheduling
Dynamic Programming: In this lecture we begin our coverage of an important algorithm design technique, called dynamic programming (or DP for short). The technique is among the most powerful for designing algorithms for optimization problems. Dynamic programming is a powerful technique for solving optimization problems that have certain well-defined clean structural properties. (The meaning of t...
متن کاملCMSC 451 Dave Mount CMSC 451 : Lecture 19 NP - Completeness : Reductions Tue , Nov 21 , 2017
متن کامل
CMSC 451 : Lecture 17 Network Flow : Extensions Thursday , Nov 9 , 2017
Extensions of Network Flow: Network flow is an important problem because it is useful in a wide variety of applications. We will discuss two useful extensions to the network flow problem. We will show that these problems can be reduced to network flow, and thus a single algorithm can be used to solve both of them. Many computational problems that would seem to have little to do with flow of flu...
متن کامل